package com.bw.zzy.partal2.pojo;

import lombok.Data;

import java.io.Serializable;
import java.util.Date;


@Data   //自动生成构造函数，set  get方法
public class ZzyUser implements Serializable {
    /*
         在Java中，实现`Serializable`接口的类可以被序列化，这意味着它们可以被转换成字节序列，以便在网络
         上传输或者将对象持久化到磁盘上。`Serializable`接口是一个标记接口，不包含任何方法，它只是用来标识
         类的实例可以被序列化。
    */

    private static final long serialVersionUID = 1L;

    /*
             `private static final long serialVersionUID = 1L;` 是用来确保序列化和反序列化的一致性。当
            类的结构发生变化时，如果没有提供`serialVersionUID`，则Java编译器会根据类的结构自动生成一个
            `serialVersionUID`。但是，这个自动生成的`serialVersionUID`可能会受到不同编译器、不同JVM实
            现、不同编译参数等因素的影响，导致在反序列化时可能会出现不一致的情况。因此，建议显式地声明
            `serialVersionUID`，并且保持它的值不变，以确保在类的结构发生变化时，反序列化仍然可以正确进行。
            简而言之，`implements Serializable`和`private static final long serialVersionUID =
            1L;` 的作用是使类能够被序列化，并确保在类结构发生变化时，仍然可以正确地进行序列化和反序列化操作。
    */

    private Integer id;
    private String username;
    private String password;
    //预留
    private String openId;
    private String photo;
    private String name;
    private Object sex;
    private String tel;
    private String email;
    //入职日期
    private Date hiredate;
    private Object role;
    //是否为超级管理员
    private Boolean root;
    private Integer deptId;
    private Byte status;
    private Date creatTime;

}
